package com.wechat.dao;

import com.wechat.entity.Question;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface QuestionDao {
    /**
     *
     */
    int deleteById(Integer id);

    /**
     *
     */
    int save(Question record);

    /**
     *
     */
    Question findById(Integer id);

    /**
     *
     * 根据充值记录获取问题
     * @param rechargeId
     * @return
     */
    Question findByRechargeId(@Param("rechargeId") Long rechargeId);

    /**
     *
     */
    int update(Question record);

    /**
     * 根据传入的用户编号查询我发出去的  红包总数与红包金额总数 分别存放于 total_number与total_amount
     *
     * @param userId
     * @return
     */
    Question selTotalSend(Integer userId);

    /**
     * 通过用户id查询我发出去的红包总金额
     *
     * @param userId
     * @return
     */
    double selSumRedPacketByUserId(Integer userId);

    /**
     * 通过用户id查询我发出去的红包总个数
     *
     * @param userId
     * @return
     */
    int selCountRedPacketByUserId(Integer userId);

    Question selById(@Param("id") Integer id);

    /**
     * 获取问题列表
     * @param userId
     * @param tradeStatus
     * @param amountStatus
     * @param rechargeBegin
     * @param rechargeEnd
     * @return
     */
    List<Question> questionJoinRechargeList(@Param("userId") Integer userId,
                                            @Param("tradeStatus") Integer tradeStatus,
                                            @Param("amountStatus") Integer amountStatus,
                                            @Param("rechargeBegin") Date rechargeBegin,
                                            @Param("rechargeEnd") Date rechargeEnd);

}